package com.hehao.java_basic.proxy.jdk.dynamic;


import com.hehao.java_basic.proxy.jdk.UsbKingstonFactory;
import com.hehao.java_basic.proxy.jdk.UsbSell;

import java.lang.reflect.Proxy;

/**
 * @author Damon
 * @date 2022/10/20
 */
public class DynamicProxyMain {
    public static void main(String[] args) {
        //设置用于输出jdk动态代理产生的类
        System.getProperties().put("sun.misc.ProxyGenerator.saveGeneratedFiles", "true");
        UsbSell kingston = new UsbKingstonFactory();
        MyDynamicUsbSellHandler handler = new MyDynamicUsbSellHandler(kingston);
        UsbSell kingstonProxy = (UsbSell) Proxy.newProxyInstance(kingston.getClass().getClassLoader(), kingston.getClass().getInterfaces(), handler);
        System.out.println("Kingston代理对象调用："+kingstonProxy.usbSell(1));

    }
}
